package com.ruoyi.store.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 *分类表
 */
@Data
public class CategoryTreeVo {
	private static final long serialVersionUID = 1L;

	/** $pkColumn.columnComment */
	@ApiModelProperty("$pkColumn.columnComment")
	@TableId(value = "id", type = IdType.AUTO)
	private Integer id;

	/** 父级ID */
	@Excel(name = "父级ID")
	@ApiModelProperty("父级ID")
	private Integer pid;

	/** 路径 */
	@Excel(name = "路径")
	@ApiModelProperty("路径")
	private String path;

	/** 分类名称 */
	@Excel(name = "分类名称")
	@ApiModelProperty("分类名称")
	private String name;

	/** 类型，1 产品分类，2 附件分类，3 文章分类， 4 设置分类， 5 菜单分类 */
	@Excel(name = "类型，1 产品分类，2 附件分类，3 文章分类， 4 设置分类， 5 菜单分类")
	@ApiModelProperty("类型，1 产品分类，2 附件分类，3 文章分类， 4 设置分类， 5 菜单分类")
	private Integer type;

	/** 地址 */
	@Excel(name = "地址")
	@ApiModelProperty("地址")
	private String url;

	/** 扩展字段 Jsos格式 */
	@Excel(name = "扩展字段 Jsos格式")
	@ApiModelProperty("扩展字段 Jsos格式")
	private String extra;

	/** 状态, 1正常，0失效 */
	@Excel(name = "状态, 1正常，0失效")
	@ApiModelProperty("状态, 1正常，0失效")
	private Boolean status;

	/** 排序 */
	@Excel(name = "排序")
	@ApiModelProperty("排序")
	private Integer sort;

	@JsonInclude(JsonInclude.Include.NON_EMPTY) //属性为 空（""）[] 或者为 NULL 都不序列化
	private List<CategoryTreeVo> child = new ArrayList<>();
}
